export type { CourseListItemType } from '@/api/service/base.type';
import type {
	GetAnalysisResultResponseType,
	GetLessonTeacherBehaviorResponseType
} from '@/api/service/lesson-analysis-details.type';
export type { BehaviorsInfoItemType } from '@/api/service/lesson-analysis-details.type';

export interface AnalysisResultType extends GetAnalysisResultResponseType {
	planBreakTime?: number;
	realBreakTime?: number;
	calLateBeginTime?: number;
	calBeginTime?: number;
	calEarlyStopTime?: number;
	calLateStopTime?: number;
	calEndTime?: number;
	calTotalTime?: number;
	planTotalTime?: number;
	calTeachTime?: number;
}

export type TeacherBehaviorInfoType = GetLessonTeacherBehaviorResponseType;

// 行为统计结果列表
export interface TeacherBehaviorGeneralItemType {
	times: number;
	duration: string;
	color: string;
}

// 行为信息列表
export interface BehaviorDataType {
	explainingTimes: number;
	writingTimes: number;
	walkingTimes: number;
}

export type NodeKeyType =
	| 'explaining'
	| 'writing'
	| 'walking'
	| 'standing'
	| 'sitting'
	| 'bowing'
	| 'leaning'
	| 'usephone'
	| 'answerphone';

export type NodeListType = Record<
	NodeKeyType,
	{
		order: number;
		show: number;
	}
>;

export interface PreviewInfoType {
	transFileUrl: string;
	name: string;
	type: number;
	analysisType: number;
	videoTime: number;
}

export interface RealBreakTimeItemType {
	startTime: number;
	endTime: number;
}
